/* this ALWAYS GENERATED file contains the definitions for the interfaces */


/* File created by MIDL compiler version 3.02.88 */
/* at Sun May 16 21:14:34 2004
 */
/* Compiler settings for C:\program1\ASpriteCE\ASpriteCE.idl:
    Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
    error checks: none
*/
//@@MIDL_FILE_HEADING(  )
#include "rpc.h"
#include "rpcndr.h"
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __ASpriteCE_h__
#define __ASpriteCE_h__

#ifdef __cplusplus
extern "C"{
#endif 

/* Forward Declarations */ 

#ifndef __IGame_FWD_DEFINED__
#define __IGame_FWD_DEFINED__
typedef interface IGame IGame;
#endif 	/* __IGame_FWD_DEFINED__ */


#ifndef ___IGameEvents_FWD_DEFINED__
#define ___IGameEvents_FWD_DEFINED__
typedef interface _IGameEvents _IGameEvents;
#endif 	/* ___IGameEvents_FWD_DEFINED__ */


#ifndef __Game_FWD_DEFINED__
#define __Game_FWD_DEFINED__

#ifdef __cplusplus
typedef class Game Game;
#else
typedef struct Game Game;
#endif /* __cplusplus */

#endif 	/* __Game_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 

#ifndef __IGame_INTERFACE_DEFINED__
#define __IGame_INTERFACE_DEFINED__

/****************************************
 * Generated header for interface: IGame
 * at Sun May 16 21:14:34 2004
 * using MIDL 3.02.88
 ****************************************/
/* [unique][helpstring][dual][uuid][object] */ 



EXTERN_C const IID IID_IGame;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    interface DECLSPEC_UUID("A3058283-D994-400A-B5C0-9C77CA2D7AC6")
    IGame : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TimerStartTimer( 
            long lMilliseconds) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TimerStopTimer( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawInit( 
            DWORD hwnd,
            int iCustomWidth,
            int iCustomHeight) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawDisable( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawFloodFill( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawSetPixel( 
            int x,
            int y,
            BOOL bDrawBackGround) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TextDisplay( 
            BSTR bstrString,
            int lX,
            int lY,
            BOOL bTransparent,
            BOOL bDrawBackground) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawSetDrawColor( 
            int red,
            int green,
            int blue) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawSetBackColor( 
            int red,
            int green,
            int blue) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteDefine( 
            long lSpriteNum,
            BSTR sFileName,
            long iXPosBMP,
            long iYPosBMP,
            long iFrameWidth,
            long iFrameHeight,
            long iFrameCount,
            long iFramesPerRow) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawFlipBackBuffer( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteDisplay( 
            long lSpriteNum) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawSetTransparentColor( 
            int red,
            int green,
            int blue) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteSetNextFrame( 
            long lSpriteNum) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteSetPosition( 
            long lSpriteNum,
            long lX,
            long lY) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawBackgroundImage( 
            BSTR sFileName,
            int lX,
            int lY) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TimerGetTickCount( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TimerGetFrameRate( 
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SoundLoad( 
            long lSoundNum,
            BSTR sFileName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SoundPlay( 
            long lSoundNum) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawGetPixel( 
            int x,
            int y,
            /* [out][in] */ VARIANT __RPC_FAR *red,
            /* [out][in] */ VARIANT __RPC_FAR *green,
            /* [out][in] */ VARIANT __RPC_FAR *blue) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteSetDirection( 
            long lSpriteNum,
            int iAngle,
            int iVelocity) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_UtilGetAngleBetween( 
            int x1,
            int y1,
            int x2,
            int y2,
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputKeyUp( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputKeyDown( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputKeyLeft( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputKeyRight( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputKeyA( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputKeyB( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputKeyC( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputKeyStart( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputKeyAux1( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputKeyAux2( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputKeyDirection( 
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteGetDirection( 
            long lSpriteNum,
            /* [out][in] */ VARIANT __RPC_FAR *iAngle,
            /* [out][in] */ VARIANT __RPC_FAR *iVelocity) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DrawAutoFlipBackBuffer( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DrawAutoFlipBackBuffer( 
            /* [in] */ BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SpriteAutoDisplay( 
            long lSpriteNum,
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SpriteAutoDisplay( 
            long lSpriteNum,
            /* [in] */ BOOL newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SpriteFrameRate( 
            long lSpriteNum,
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SpriteFrameRate( 
            long lSpriteNum,
            /* [in] */ short newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TimerPauseTimer( 
            BOOL bPause) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteSetPrevFrame( 
            long lSpriteNum) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteSetFrameRange( 
            long lSpriteNum,
            int iFirstFrame,
            int iLastFrame,
            BOOL bLoopFrames) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteGetFrameRange( 
            long lSpriteNum,
            /* [out][in] */ VARIANT __RPC_FAR *iFirstFrame,
            /* [out][in] */ VARIANT __RPC_FAR *iLastFrame,
            VARIANT __RPC_FAR *bLoopFrames) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TextSetAttributes( 
            BSTR sFaceName,
            long lWeight,
            long lPoints,
            BOOL bItalic,
            BOOL bUnderline,
            BOOL bStrikeOut,
            short iCharSet) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TextGetDimensions( 
            BSTR sText,
            /* [out][in] */ VARIANT __RPC_FAR *width,
            /* [out][in] */ VARIANT __RPC_FAR *height) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawRedrawBackground( 
            int x,
            int y,
            int width,
            int height) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawBackgroundSprite( 
            long lSpriteNum,
            int lX,
            int lY) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawBackgroundScroll( 
            int iAngle,
            int iDistance) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawBackgroundScrollGetOffsets( 
            /* [out][in] */ VARIANT __RPC_FAR *iOffsetX,
            /* [out][in] */ VARIANT __RPC_FAR *iOffsetY) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TileSetMap( 
            long lSpriteNum,
            /* [out][in] */ VARIANT __RPC_FAR *arrMap,
            /* [out][in] */ VARIANT __RPC_FAR *arrCollisionTiles) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteDelete( 
            long lSpriteNum) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TileAtPosition( 
            int iXMapOffset,
            int iYMapOffset,
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_TileAtPosition( 
            int iXMapOffset,
            int iYMapOffset,
            /* [in] */ short newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TileAtPositionXY( 
            int lX,
            int lY,
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TileCausesCollision( 
            int iTileNum,
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteDiminishCollisionRect( 
            long lSpriteNum,
            int iDiminishX,
            int iDiminishY) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TileSpriteCanMove( 
            long lSpriteNum,
            int iAngle,
            int iVelocity,
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawGetDimensions( 
            /* [out][in] */ VARIANT __RPC_FAR *width,
            /* [out][in] */ VARIANT __RPC_FAR *height) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteGetPosition( 
            long lSpriteNum,
            /* [out][in] */ VARIANT __RPC_FAR *lX,
            /* [out][in] */ VARIANT __RPC_FAR *lY) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SpriteActive( 
            long lSpriteNum,
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SpriteActive( 
            long lSpriteNum,
            /* [in] */ BOOL newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteGetPositionEx( 
            long lSpriteNum,
            int iOffset,
            /* [out][in] */ VARIANT __RPC_FAR *lX,
            /* [out][in] */ VARIANT __RPC_FAR *lY) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SpriteOnScreen( 
            long lSpriteNum,
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SpriteFrame( 
            long lSpriteNum,
            /* [retval][out] */ int __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SpriteFrame( 
            long lSpriteNum,
            /* [in] */ int newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_UtilRandom( 
            long lMinVal,
            long lMaxVal,
            /* [retval][out] */ long __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UtilMemoryStatus( 
            /* [out][in] */ VARIANT __RPC_FAR *iMemoryLoad,
            /* [out][in] */ VARIANT __RPC_FAR *lTotalPhysicalBytes,
            /* [out][in] */ VARIANT __RPC_FAR *lAvailablePhysicalBytes,
            /* [out][in] */ VARIANT __RPC_FAR *lTotalVirtualBytes,
            /* [out][in] */ VARIANT __RPC_FAR *lAvailableVirtualBytes) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SpriteZOrder( 
            long lSpriteNum,
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SpriteZOrder( 
            long lSpriteNum,
            /* [in] */ short newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TimerDefineCustom( 
            int iTimerNum,
            int iDelay,
            BOOL bRepeat) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InputFireMouseCollisions( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_InputFireMouseCollisions( 
            /* [in] */ BOOL newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SoundPlayLoop( 
            long lSoundNum) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SoundStopLoop( 
            long lSoundNum) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SpriteTileCollisionsOn( 
            long lSpriteNum,
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SpriteTileCollisionsOn( 
            long lSpriteNum,
            /* [in] */ BOOL newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteCopy( 
            long lSrcSpriteNum,
            long lDestSpriteNum) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SoundDelete( 
            long lSoundNum) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawBackgroundScrollSetOffsets( 
            int iOffsetX,
            int iOffSetY) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ScriptExecute( 
            BSTR sScript) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UtilSleep( 
            long lMilliseconds) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ScriptStop( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AppPath( 
            /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AppPath( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DrawHwnd( 
            /* [retval][out] */ DWORD __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_DrawHwnd( 
            /* [in] */ DWORD newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteStretch( 
            long lSpriteNum,
            long lWidth,
            long lHeight) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ScriptRaiseMessage( 
            BSTR sMessage) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DoInit( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawLine( 
            int x1,
            int y1,
            int x2,
            int y2,
            int iWidth,
            BOOL bDrawBackground) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawRectangle( 
            int x1,
            int y1,
            int x2,
            int y2,
            BOOL bDrawBackground) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TextDisplaySprite( 
            long lSpriteNum,
            BSTR bstrString,
            int lX,
            int lY,
            BOOL bTransparent,
            BOOL bErase) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawSetPixelSprite( 
            long lSpriteNum,
            int x,
            int y,
            BOOL bErase) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DrawFullScreen( 
            BOOL bShowTaskBar,
            BOOL bShowSIP,
            BOOL bShowStartIcon) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DrawBackgroundShouldScroll( 
            long lSpriteNum,
            int iDirection,
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TileSetCollisionTiles( 
            VARIANT __RPC_FAR *arrCollisionTiles) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteCopyFrame( 
            long lSrcSpriteNum,
            int lSrcFrame,
            long lDestSpriteNum,
            int lDestFrame) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteFrameFlip( 
            long lSpriteNum) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteFrameMirrorInternal( 
            long lSpriteNum,
            BOOL bMirror) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteFrameMirror( 
            long lSpriteNum) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SpriteDirectionRate( 
            long lSpriteNum,
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SpriteDirectionRate( 
            long lSpriteNum,
            /* [in] */ short newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DrawHwndControl( 
            /* [retval][out] */ DWORD __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SpriteCollisionAccuracy( 
            long lSpriteNum,
            /* [retval][out] */ short __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_SpriteCollisionAccuracy( 
            long lSpriteNum,
            /* [in] */ short newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SpriteSetCollisionSprites( 
            long lSpriteNum,
            VARIANT __RPC_FAR *arrCollisionSprites) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TileExtendedCollisions( 
            /* [retval][out] */ BOOL __RPC_FAR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_TileExtendedCollisions( 
            /* [in] */ BOOL newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IGame __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IGame __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IGame __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            IGame __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            IGame __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            IGame __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            IGame __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TimerStartTimer )( 
            IGame __RPC_FAR * This,
            long lMilliseconds);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TimerStopTimer )( 
            IGame __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawInit )( 
            IGame __RPC_FAR * This,
            DWORD hwnd,
            int iCustomWidth,
            int iCustomHeight);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawDisable )( 
            IGame __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawFloodFill )( 
            IGame __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawSetPixel )( 
            IGame __RPC_FAR * This,
            int x,
            int y,
            BOOL bDrawBackGround);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TextDisplay )( 
            IGame __RPC_FAR * This,
            BSTR bstrString,
            int lX,
            int lY,
            BOOL bTransparent,
            BOOL bDrawBackground);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawSetDrawColor )( 
            IGame __RPC_FAR * This,
            int red,
            int green,
            int blue);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawSetBackColor )( 
            IGame __RPC_FAR * This,
            int red,
            int green,
            int blue);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteDefine )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            BSTR sFileName,
            long iXPosBMP,
            long iYPosBMP,
            long iFrameWidth,
            long iFrameHeight,
            long iFrameCount,
            long iFramesPerRow);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawFlipBackBuffer )( 
            IGame __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteDisplay )( 
            IGame __RPC_FAR * This,
            long lSpriteNum);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawSetTransparentColor )( 
            IGame __RPC_FAR * This,
            int red,
            int green,
            int blue);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteSetNextFrame )( 
            IGame __RPC_FAR * This,
            long lSpriteNum);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteSetPosition )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            long lX,
            long lY);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawBackgroundImage )( 
            IGame __RPC_FAR * This,
            BSTR sFileName,
            int lX,
            int lY);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TimerGetTickCount )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TimerGetFrameRate )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SoundLoad )( 
            IGame __RPC_FAR * This,
            long lSoundNum,
            BSTR sFileName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SoundPlay )( 
            IGame __RPC_FAR * This,
            long lSoundNum);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawGetPixel )( 
            IGame __RPC_FAR * This,
            int x,
            int y,
            /* [out][in] */ VARIANT __RPC_FAR *red,
            /* [out][in] */ VARIANT __RPC_FAR *green,
            /* [out][in] */ VARIANT __RPC_FAR *blue);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteSetDirection )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            int iAngle,
            int iVelocity);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UtilGetAngleBetween )( 
            IGame __RPC_FAR * This,
            int x1,
            int y1,
            int x2,
            int y2,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputKeyUp )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputKeyDown )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputKeyLeft )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputKeyRight )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputKeyA )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputKeyB )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputKeyC )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputKeyStart )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputKeyAux1 )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputKeyAux2 )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputKeyDirection )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteGetDirection )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [out][in] */ VARIANT __RPC_FAR *iAngle,
            /* [out][in] */ VARIANT __RPC_FAR *iVelocity);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DrawAutoFlipBackBuffer )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DrawAutoFlipBackBuffer )( 
            IGame __RPC_FAR * This,
            /* [in] */ BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SpriteAutoDisplay )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SpriteAutoDisplay )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [in] */ BOOL newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SpriteFrameRate )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SpriteFrameRate )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [in] */ short newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TimerPauseTimer )( 
            IGame __RPC_FAR * This,
            BOOL bPause);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteSetPrevFrame )( 
            IGame __RPC_FAR * This,
            long lSpriteNum);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteSetFrameRange )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            int iFirstFrame,
            int iLastFrame,
            BOOL bLoopFrames);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteGetFrameRange )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [out][in] */ VARIANT __RPC_FAR *iFirstFrame,
            /* [out][in] */ VARIANT __RPC_FAR *iLastFrame,
            VARIANT __RPC_FAR *bLoopFrames);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TextSetAttributes )( 
            IGame __RPC_FAR * This,
            BSTR sFaceName,
            long lWeight,
            long lPoints,
            BOOL bItalic,
            BOOL bUnderline,
            BOOL bStrikeOut,
            short iCharSet);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TextGetDimensions )( 
            IGame __RPC_FAR * This,
            BSTR sText,
            /* [out][in] */ VARIANT __RPC_FAR *width,
            /* [out][in] */ VARIANT __RPC_FAR *height);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawRedrawBackground )( 
            IGame __RPC_FAR * This,
            int x,
            int y,
            int width,
            int height);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawBackgroundSprite )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            int lX,
            int lY);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawBackgroundScroll )( 
            IGame __RPC_FAR * This,
            int iAngle,
            int iDistance);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawBackgroundScrollGetOffsets )( 
            IGame __RPC_FAR * This,
            /* [out][in] */ VARIANT __RPC_FAR *iOffsetX,
            /* [out][in] */ VARIANT __RPC_FAR *iOffsetY);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TileSetMap )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [out][in] */ VARIANT __RPC_FAR *arrMap,
            /* [out][in] */ VARIANT __RPC_FAR *arrCollisionTiles);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteDelete )( 
            IGame __RPC_FAR * This,
            long lSpriteNum);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TileAtPosition )( 
            IGame __RPC_FAR * This,
            int iXMapOffset,
            int iYMapOffset,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TileAtPosition )( 
            IGame __RPC_FAR * This,
            int iXMapOffset,
            int iYMapOffset,
            /* [in] */ short newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TileAtPositionXY )( 
            IGame __RPC_FAR * This,
            int lX,
            int lY,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TileCausesCollision )( 
            IGame __RPC_FAR * This,
            int iTileNum,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteDiminishCollisionRect )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            int iDiminishX,
            int iDiminishY);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TileSpriteCanMove )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            int iAngle,
            int iVelocity,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawGetDimensions )( 
            IGame __RPC_FAR * This,
            /* [out][in] */ VARIANT __RPC_FAR *width,
            /* [out][in] */ VARIANT __RPC_FAR *height);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteGetPosition )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [out][in] */ VARIANT __RPC_FAR *lX,
            /* [out][in] */ VARIANT __RPC_FAR *lY);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SpriteActive )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SpriteActive )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [in] */ BOOL newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteGetPositionEx )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            int iOffset,
            /* [out][in] */ VARIANT __RPC_FAR *lX,
            /* [out][in] */ VARIANT __RPC_FAR *lY);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SpriteOnScreen )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SpriteFrame )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [retval][out] */ int __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SpriteFrame )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [in] */ int newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UtilRandom )( 
            IGame __RPC_FAR * This,
            long lMinVal,
            long lMaxVal,
            /* [retval][out] */ long __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UtilMemoryStatus )( 
            IGame __RPC_FAR * This,
            /* [out][in] */ VARIANT __RPC_FAR *iMemoryLoad,
            /* [out][in] */ VARIANT __RPC_FAR *lTotalPhysicalBytes,
            /* [out][in] */ VARIANT __RPC_FAR *lAvailablePhysicalBytes,
            /* [out][in] */ VARIANT __RPC_FAR *lTotalVirtualBytes,
            /* [out][in] */ VARIANT __RPC_FAR *lAvailableVirtualBytes);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SpriteZOrder )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SpriteZOrder )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [in] */ short newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TimerDefineCustom )( 
            IGame __RPC_FAR * This,
            int iTimerNum,
            int iDelay,
            BOOL bRepeat);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InputFireMouseCollisions )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_InputFireMouseCollisions )( 
            IGame __RPC_FAR * This,
            /* [in] */ BOOL newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SoundPlayLoop )( 
            IGame __RPC_FAR * This,
            long lSoundNum);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SoundStopLoop )( 
            IGame __RPC_FAR * This,
            long lSoundNum);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SpriteTileCollisionsOn )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SpriteTileCollisionsOn )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [in] */ BOOL newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteCopy )( 
            IGame __RPC_FAR * This,
            long lSrcSpriteNum,
            long lDestSpriteNum);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SoundDelete )( 
            IGame __RPC_FAR * This,
            long lSoundNum);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawBackgroundScrollSetOffsets )( 
            IGame __RPC_FAR * This,
            int iOffsetX,
            int iOffSetY);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScriptExecute )( 
            IGame __RPC_FAR * This,
            BSTR sScript);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UtilSleep )( 
            IGame __RPC_FAR * This,
            long lMilliseconds);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScriptStop )( 
            IGame __RPC_FAR * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AppPath )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BSTR __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AppPath )( 
            IGame __RPC_FAR * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DrawHwnd )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ DWORD __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DrawHwnd )( 
            IGame __RPC_FAR * This,
            /* [in] */ DWORD newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteStretch )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            long lWidth,
            long lHeight);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ScriptRaiseMessage )( 
            IGame __RPC_FAR * This,
            BSTR sMessage);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoInit )( 
            IGame __RPC_FAR * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawLine )( 
            IGame __RPC_FAR * This,
            int x1,
            int y1,
            int x2,
            int y2,
            int iWidth,
            BOOL bDrawBackground);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawRectangle )( 
            IGame __RPC_FAR * This,
            int x1,
            int y1,
            int x2,
            int y2,
            BOOL bDrawBackground);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TextDisplaySprite )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            BSTR bstrString,
            int lX,
            int lY,
            BOOL bTransparent,
            BOOL bErase);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawSetPixelSprite )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            int x,
            int y,
            BOOL bErase);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DrawFullScreen )( 
            IGame __RPC_FAR * This,
            BOOL bShowTaskBar,
            BOOL bShowSIP,
            BOOL bShowStartIcon);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DrawBackgroundShouldScroll )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            int iDirection,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TileSetCollisionTiles )( 
            IGame __RPC_FAR * This,
            VARIANT __RPC_FAR *arrCollisionTiles);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteCopyFrame )( 
            IGame __RPC_FAR * This,
            long lSrcSpriteNum,
            int lSrcFrame,
            long lDestSpriteNum,
            int lDestFrame);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteFrameFlip )( 
            IGame __RPC_FAR * This,
            long lSpriteNum);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteFrameMirrorInternal )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            BOOL bMirror);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteFrameMirror )( 
            IGame __RPC_FAR * This,
            long lSpriteNum);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SpriteDirectionRate )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SpriteDirectionRate )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [in] */ short newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DrawHwndControl )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ DWORD __RPC_FAR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SpriteCollisionAccuracy )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [retval][out] */ short __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SpriteCollisionAccuracy )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            /* [in] */ short newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SpriteSetCollisionSprites )( 
            IGame __RPC_FAR * This,
            long lSpriteNum,
            VARIANT __RPC_FAR *arrCollisionSprites);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TileExtendedCollisions )( 
            IGame __RPC_FAR * This,
            /* [retval][out] */ BOOL __RPC_FAR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TileExtendedCollisions )( 
            IGame __RPC_FAR * This,
            /* [in] */ BOOL newVal);
        
        END_INTERFACE
    } IGameVtbl;

    interface IGame
    {
        CONST_VTBL struct IGameVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGame_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGame_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGame_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGame_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGame_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGame_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGame_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGame_TimerStartTimer(This,lMilliseconds)	\
    (This)->lpVtbl -> TimerStartTimer(This,lMilliseconds)

#define IGame_TimerStopTimer(This)	\
    (This)->lpVtbl -> TimerStopTimer(This)

#define IGame_DrawInit(This,hwnd,iCustomWidth,iCustomHeight)	\
    (This)->lpVtbl -> DrawInit(This,hwnd,iCustomWidth,iCustomHeight)

#define IGame_DrawDisable(This)	\
    (This)->lpVtbl -> DrawDisable(This)

#define IGame_DrawFloodFill(This)	\
    (This)->lpVtbl -> DrawFloodFill(This)

#define IGame_DrawSetPixel(This,x,y,bDrawBackGround)	\
    (This)->lpVtbl -> DrawSetPixel(This,x,y,bDrawBackGround)

#define IGame_TextDisplay(This,bstrString,lX,lY,bTransparent,bDrawBackground)	\
    (This)->lpVtbl -> TextDisplay(This,bstrString,lX,lY,bTransparent,bDrawBackground)

#define IGame_DrawSetDrawColor(This,red,green,blue)	\
    (This)->lpVtbl -> DrawSetDrawColor(This,red,green,blue)

#define IGame_DrawSetBackColor(This,red,green,blue)	\
    (This)->lpVtbl -> DrawSetBackColor(This,red,green,blue)

#define IGame_SpriteDefine(This,lSpriteNum,sFileName,iXPosBMP,iYPosBMP,iFrameWidth,iFrameHeight,iFrameCount,iFramesPerRow)	\
    (This)->lpVtbl -> SpriteDefine(This,lSpriteNum,sFileName,iXPosBMP,iYPosBMP,iFrameWidth,iFrameHeight,iFrameCount,iFramesPerRow)

#define IGame_DrawFlipBackBuffer(This)	\
    (This)->lpVtbl -> DrawFlipBackBuffer(This)

#define IGame_SpriteDisplay(This,lSpriteNum)	\
    (This)->lpVtbl -> SpriteDisplay(This,lSpriteNum)

#define IGame_DrawSetTransparentColor(This,red,green,blue)	\
    (This)->lpVtbl -> DrawSetTransparentColor(This,red,green,blue)

#define IGame_SpriteSetNextFrame(This,lSpriteNum)	\
    (This)->lpVtbl -> SpriteSetNextFrame(This,lSpriteNum)

#define IGame_SpriteSetPosition(This,lSpriteNum,lX,lY)	\
    (This)->lpVtbl -> SpriteSetPosition(This,lSpriteNum,lX,lY)

#define IGame_DrawBackgroundImage(This,sFileName,lX,lY)	\
    (This)->lpVtbl -> DrawBackgroundImage(This,sFileName,lX,lY)

#define IGame_get_TimerGetTickCount(This,pVal)	\
    (This)->lpVtbl -> get_TimerGetTickCount(This,pVal)

#define IGame_get_TimerGetFrameRate(This,pVal)	\
    (This)->lpVtbl -> get_TimerGetFrameRate(This,pVal)

#define IGame_SoundLoad(This,lSoundNum,sFileName)	\
    (This)->lpVtbl -> SoundLoad(This,lSoundNum,sFileName)

#define IGame_SoundPlay(This,lSoundNum)	\
    (This)->lpVtbl -> SoundPlay(This,lSoundNum)

#define IGame_DrawGetPixel(This,x,y,red,green,blue)	\
    (This)->lpVtbl -> DrawGetPixel(This,x,y,red,green,blue)

#define IGame_SpriteSetDirection(This,lSpriteNum,iAngle,iVelocity)	\
    (This)->lpVtbl -> SpriteSetDirection(This,lSpriteNum,iAngle,iVelocity)

#define IGame_get_UtilGetAngleBetween(This,x1,y1,x2,y2,pVal)	\
    (This)->lpVtbl -> get_UtilGetAngleBetween(This,x1,y1,x2,y2,pVal)

#define IGame_get_InputKeyUp(This,pVal)	\
    (This)->lpVtbl -> get_InputKeyUp(This,pVal)

#define IGame_get_InputKeyDown(This,pVal)	\
    (This)->lpVtbl -> get_InputKeyDown(This,pVal)

#define IGame_get_InputKeyLeft(This,pVal)	\
    (This)->lpVtbl -> get_InputKeyLeft(This,pVal)

#define IGame_get_InputKeyRight(This,pVal)	\
    (This)->lpVtbl -> get_InputKeyRight(This,pVal)

#define IGame_get_InputKeyA(This,pVal)	\
    (This)->lpVtbl -> get_InputKeyA(This,pVal)

#define IGame_get_InputKeyB(This,pVal)	\
    (This)->lpVtbl -> get_InputKeyB(This,pVal)

#define IGame_get_InputKeyC(This,pVal)	\
    (This)->lpVtbl -> get_InputKeyC(This,pVal)

#define IGame_get_InputKeyStart(This,pVal)	\
    (This)->lpVtbl -> get_InputKeyStart(This,pVal)

#define IGame_get_InputKeyAux1(This,pVal)	\
    (This)->lpVtbl -> get_InputKeyAux1(This,pVal)

#define IGame_get_InputKeyAux2(This,pVal)	\
    (This)->lpVtbl -> get_InputKeyAux2(This,pVal)

#define IGame_get_InputKeyDirection(This,pVal)	\
    (This)->lpVtbl -> get_InputKeyDirection(This,pVal)

#define IGame_SpriteGetDirection(This,lSpriteNum,iAngle,iVelocity)	\
    (This)->lpVtbl -> SpriteGetDirection(This,lSpriteNum,iAngle,iVelocity)

#define IGame_get_DrawAutoFlipBackBuffer(This,pVal)	\
    (This)->lpVtbl -> get_DrawAutoFlipBackBuffer(This,pVal)

#define IGame_put_DrawAutoFlipBackBuffer(This,newVal)	\
    (This)->lpVtbl -> put_DrawAutoFlipBackBuffer(This,newVal)

#define IGame_get_SpriteAutoDisplay(This,lSpriteNum,pVal)	\
    (This)->lpVtbl -> get_SpriteAutoDisplay(This,lSpriteNum,pVal)

#define IGame_put_SpriteAutoDisplay(This,lSpriteNum,newVal)	\
    (This)->lpVtbl -> put_SpriteAutoDisplay(This,lSpriteNum,newVal)

#define IGame_get_SpriteFrameRate(This,lSpriteNum,pVal)	\
    (This)->lpVtbl -> get_SpriteFrameRate(This,lSpriteNum,pVal)

#define IGame_put_SpriteFrameRate(This,lSpriteNum,newVal)	\
    (This)->lpVtbl -> put_SpriteFrameRate(This,lSpriteNum,newVal)

#define IGame_TimerPauseTimer(This,bPause)	\
    (This)->lpVtbl -> TimerPauseTimer(This,bPause)

#define IGame_SpriteSetPrevFrame(This,lSpriteNum)	\
    (This)->lpVtbl -> SpriteSetPrevFrame(This,lSpriteNum)

#define IGame_SpriteSetFrameRange(This,lSpriteNum,iFirstFrame,iLastFrame,bLoopFrames)	\
    (This)->lpVtbl -> SpriteSetFrameRange(This,lSpriteNum,iFirstFrame,iLastFrame,bLoopFrames)

#define IGame_SpriteGetFrameRange(This,lSpriteNum,iFirstFrame,iLastFrame,bLoopFrames)	\
    (This)->lpVtbl -> SpriteGetFrameRange(This,lSpriteNum,iFirstFrame,iLastFrame,bLoopFrames)

#define IGame_TextSetAttributes(This,sFaceName,lWeight,lPoints,bItalic,bUnderline,bStrikeOut,iCharSet)	\
    (This)->lpVtbl -> TextSetAttributes(This,sFaceName,lWeight,lPoints,bItalic,bUnderline,bStrikeOut,iCharSet)

#define IGame_TextGetDimensions(This,sText,width,height)	\
    (This)->lpVtbl -> TextGetDimensions(This,sText,width,height)

#define IGame_DrawRedrawBackground(This,x,y,width,height)	\
    (This)->lpVtbl -> DrawRedrawBackground(This,x,y,width,height)

#define IGame_DrawBackgroundSprite(This,lSpriteNum,lX,lY)	\
    (This)->lpVtbl -> DrawBackgroundSprite(This,lSpriteNum,lX,lY)

#define IGame_DrawBackgroundScroll(This,iAngle,iDistance)	\
    (This)->lpVtbl -> DrawBackgroundScroll(This,iAngle,iDistance)

#define IGame_DrawBackgroundScrollGetOffsets(This,iOffsetX,iOffsetY)	\
    (This)->lpVtbl -> DrawBackgroundScrollGetOffsets(This,iOffsetX,iOffsetY)

#define IGame_TileSetMap(This,lSpriteNum,arrMap,arrCollisionTiles)	\
    (This)->lpVtbl -> TileSetMap(This,lSpriteNum,arrMap,arrCollisionTiles)

#define IGame_SpriteDelete(This,lSpriteNum)	\
    (This)->lpVtbl -> SpriteDelete(This,lSpriteNum)

#define IGame_get_TileAtPosition(This,iXMapOffset,iYMapOffset,pVal)	\
    (This)->lpVtbl -> get_TileAtPosition(This,iXMapOffset,iYMapOffset,pVal)

#define IGame_put_TileAtPosition(This,iXMapOffset,iYMapOffset,newVal)	\
    (This)->lpVtbl -> put_TileAtPosition(This,iXMapOffset,iYMapOffset,newVal)

#define IGame_get_TileAtPositionXY(This,lX,lY,pVal)	\
    (This)->lpVtbl -> get_TileAtPositionXY(This,lX,lY,pVal)

#define IGame_get_TileCausesCollision(This,iTileNum,pVal)	\
    (This)->lpVtbl -> get_TileCausesCollision(This,iTileNum,pVal)

#define IGame_SpriteDiminishCollisionRect(This,lSpriteNum,iDiminishX,iDiminishY)	\
    (This)->lpVtbl -> SpriteDiminishCollisionRect(This,lSpriteNum,iDiminishX,iDiminishY)

#define IGame_get_TileSpriteCanMove(This,lSpriteNum,iAngle,iVelocity,pVal)	\
    (This)->lpVtbl -> get_TileSpriteCanMove(This,lSpriteNum,iAngle,iVelocity,pVal)

#define IGame_DrawGetDimensions(This,width,height)	\
    (This)->lpVtbl -> DrawGetDimensions(This,width,height)

#define IGame_SpriteGetPosition(This,lSpriteNum,lX,lY)	\
    (This)->lpVtbl -> SpriteGetPosition(This,lSpriteNum,lX,lY)

#define IGame_get_SpriteActive(This,lSpriteNum,pVal)	\
    (This)->lpVtbl -> get_SpriteActive(This,lSpriteNum,pVal)

#define IGame_put_SpriteActive(This,lSpriteNum,newVal)	\
    (This)->lpVtbl -> put_SpriteActive(This,lSpriteNum,newVal)

#define IGame_SpriteGetPositionEx(This,lSpriteNum,iOffset,lX,lY)	\
    (This)->lpVtbl -> SpriteGetPositionEx(This,lSpriteNum,iOffset,lX,lY)

#define IGame_get_SpriteOnScreen(This,lSpriteNum,pVal)	\
    (This)->lpVtbl -> get_SpriteOnScreen(This,lSpriteNum,pVal)

#define IGame_get_SpriteFrame(This,lSpriteNum,pVal)	\
    (This)->lpVtbl -> get_SpriteFrame(This,lSpriteNum,pVal)

#define IGame_put_SpriteFrame(This,lSpriteNum,newVal)	\
    (This)->lpVtbl -> put_SpriteFrame(This,lSpriteNum,newVal)

#define IGame_get_UtilRandom(This,lMinVal,lMaxVal,pVal)	\
    (This)->lpVtbl -> get_UtilRandom(This,lMinVal,lMaxVal,pVal)

#define IGame_UtilMemoryStatus(This,iMemoryLoad,lTotalPhysicalBytes,lAvailablePhysicalBytes,lTotalVirtualBytes,lAvailableVirtualBytes)	\
    (This)->lpVtbl -> UtilMemoryStatus(This,iMemoryLoad,lTotalPhysicalBytes,lAvailablePhysicalBytes,lTotalVirtualBytes,lAvailableVirtualBytes)

#define IGame_get_SpriteZOrder(This,lSpriteNum,pVal)	\
    (This)->lpVtbl -> get_SpriteZOrder(This,lSpriteNum,pVal)

#define IGame_put_SpriteZOrder(This,lSpriteNum,newVal)	\
    (This)->lpVtbl -> put_SpriteZOrder(This,lSpriteNum,newVal)

#define IGame_TimerDefineCustom(This,iTimerNum,iDelay,bRepeat)	\
    (This)->lpVtbl -> TimerDefineCustom(This,iTimerNum,iDelay,bRepeat)

#define IGame_get_InputFireMouseCollisions(This,pVal)	\
    (This)->lpVtbl -> get_InputFireMouseCollisions(This,pVal)

#define IGame_put_InputFireMouseCollisions(This,newVal)	\
    (This)->lpVtbl -> put_InputFireMouseCollisions(This,newVal)

#define IGame_SoundPlayLoop(This,lSoundNum)	\
    (This)->lpVtbl -> SoundPlayLoop(This,lSoundNum)

#define IGame_SoundStopLoop(This,lSoundNum)	\
    (This)->lpVtbl -> SoundStopLoop(This,lSoundNum)

#define IGame_get_SpriteTileCollisionsOn(This,lSpriteNum,pVal)	\
    (This)->lpVtbl -> get_SpriteTileCollisionsOn(This,lSpriteNum,pVal)

#define IGame_put_SpriteTileCollisionsOn(This,lSpriteNum,newVal)	\
    (This)->lpVtbl -> put_SpriteTileCollisionsOn(This,lSpriteNum,newVal)

#define IGame_SpriteCopy(This,lSrcSpriteNum,lDestSpriteNum)	\
    (This)->lpVtbl -> SpriteCopy(This,lSrcSpriteNum,lDestSpriteNum)

#define IGame_SoundDelete(This,lSoundNum)	\
    (This)->lpVtbl -> SoundDelete(This,lSoundNum)

#define IGame_DrawBackgroundScrollSetOffsets(This,iOffsetX,iOffSetY)	\
    (This)->lpVtbl -> DrawBackgroundScrollSetOffsets(This,iOffsetX,iOffSetY)

#define IGame_ScriptExecute(This,sScript)	\
    (This)->lpVtbl -> ScriptExecute(This,sScript)

#define IGame_UtilSleep(This,lMilliseconds)	\
    (This)->lpVtbl -> UtilSleep(This,lMilliseconds)

#define IGame_ScriptStop(This)	\
    (This)->lpVtbl -> ScriptStop(This)

#define IGame_get_AppPath(This,pVal)	\
    (This)->lpVtbl -> get_AppPath(This,pVal)

#define IGame_put_AppPath(This,newVal)	\
    (This)->lpVtbl -> put_AppPath(This,newVal)

#define IGame_get_DrawHwnd(This,pVal)	\
    (This)->lpVtbl -> get_DrawHwnd(This,pVal)

#define IGame_put_DrawHwnd(This,newVal)	\
    (This)->lpVtbl -> put_DrawHwnd(This,newVal)

#define IGame_SpriteStretch(This,lSpriteNum,lWidth,lHeight)	\
    (This)->lpVtbl -> SpriteStretch(This,lSpriteNum,lWidth,lHeight)

#define IGame_ScriptRaiseMessage(This,sMessage)	\
    (This)->lpVtbl -> ScriptRaiseMessage(This,sMessage)

#define IGame_DoInit(This)	\
    (This)->lpVtbl -> DoInit(This)

#define IGame_DrawLine(This,x1,y1,x2,y2,iWidth,bDrawBackground)	\
    (This)->lpVtbl -> DrawLine(This,x1,y1,x2,y2,iWidth,bDrawBackground)

#define IGame_DrawRectangle(This,x1,y1,x2,y2,bDrawBackground)	\
    (This)->lpVtbl -> DrawRectangle(This,x1,y1,x2,y2,bDrawBackground)

#define IGame_TextDisplaySprite(This,lSpriteNum,bstrString,lX,lY,bTransparent,bErase)	\
    (This)->lpVtbl -> TextDisplaySprite(This,lSpriteNum,bstrString,lX,lY,bTransparent,bErase)

#define IGame_DrawSetPixelSprite(This,lSpriteNum,x,y,bErase)	\
    (This)->lpVtbl -> DrawSetPixelSprite(This,lSpriteNum,x,y,bErase)

#define IGame_DrawFullScreen(This,bShowTaskBar,bShowSIP,bShowStartIcon)	\
    (This)->lpVtbl -> DrawFullScreen(This,bShowTaskBar,bShowSIP,bShowStartIcon)

#define IGame_get_DrawBackgroundShouldScroll(This,lSpriteNum,iDirection,pVal)	\
    (This)->lpVtbl -> get_DrawBackgroundShouldScroll(This,lSpriteNum,iDirection,pVal)

#define IGame_TileSetCollisionTiles(This,arrCollisionTiles)	\
    (This)->lpVtbl -> TileSetCollisionTiles(This,arrCollisionTiles)

#define IGame_SpriteCopyFrame(This,lSrcSpriteNum,lSrcFrame,lDestSpriteNum,lDestFrame)	\
    (This)->lpVtbl -> SpriteCopyFrame(This,lSrcSpriteNum,lSrcFrame,lDestSpriteNum,lDestFrame)

#define IGame_SpriteFrameFlip(This,lSpriteNum)	\
    (This)->lpVtbl -> SpriteFrameFlip(This,lSpriteNum)

#define IGame_SpriteFrameMirrorInternal(This,lSpriteNum,bMirror)	\
    (This)->lpVtbl -> SpriteFrameMirrorInternal(This,lSpriteNum,bMirror)

#define IGame_SpriteFrameMirror(This,lSpriteNum)	\
    (This)->lpVtbl -> SpriteFrameMirror(This,lSpriteNum)

#define IGame_get_SpriteDirectionRate(This,lSpriteNum,pVal)	\
    (This)->lpVtbl -> get_SpriteDirectionRate(This,lSpriteNum,pVal)

#define IGame_put_SpriteDirectionRate(This,lSpriteNum,newVal)	\
    (This)->lpVtbl -> put_SpriteDirectionRate(This,lSpriteNum,newVal)

#define IGame_get_DrawHwndControl(This,pVal)	\
    (This)->lpVtbl -> get_DrawHwndControl(This,pVal)

#define IGame_get_SpriteCollisionAccuracy(This,lSpriteNum,pVal)	\
    (This)->lpVtbl -> get_SpriteCollisionAccuracy(This,lSpriteNum,pVal)

#define IGame_put_SpriteCollisionAccuracy(This,lSpriteNum,newVal)	\
    (This)->lpVtbl -> put_SpriteCollisionAccuracy(This,lSpriteNum,newVal)

#define IGame_SpriteSetCollisionSprites(This,lSpriteNum,arrCollisionSprites)	\
    (This)->lpVtbl -> SpriteSetCollisionSprites(This,lSpriteNum,arrCollisionSprites)

#define IGame_get_TileExtendedCollisions(This,pVal)	\
    (This)->lpVtbl -> get_TileExtendedCollisions(This,pVal)

#define IGame_put_TileExtendedCollisions(This,newVal)	\
    (This)->lpVtbl -> put_TileExtendedCollisions(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_TimerStartTimer_Proxy( 
    IGame __RPC_FAR * This,
    long lMilliseconds);


void __RPC_STUB IGame_TimerStartTimer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_TimerStopTimer_Proxy( 
    IGame __RPC_FAR * This);


void __RPC_STUB IGame_TimerStopTimer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawInit_Proxy( 
    IGame __RPC_FAR * This,
    DWORD hwnd,
    int iCustomWidth,
    int iCustomHeight);


void __RPC_STUB IGame_DrawInit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawDisable_Proxy( 
    IGame __RPC_FAR * This);


void __RPC_STUB IGame_DrawDisable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawFloodFill_Proxy( 
    IGame __RPC_FAR * This);


void __RPC_STUB IGame_DrawFloodFill_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawSetPixel_Proxy( 
    IGame __RPC_FAR * This,
    int x,
    int y,
    BOOL bDrawBackGround);


void __RPC_STUB IGame_DrawSetPixel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_TextDisplay_Proxy( 
    IGame __RPC_FAR * This,
    BSTR bstrString,
    int lX,
    int lY,
    BOOL bTransparent,
    BOOL bDrawBackground);


void __RPC_STUB IGame_TextDisplay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawSetDrawColor_Proxy( 
    IGame __RPC_FAR * This,
    int red,
    int green,
    int blue);


void __RPC_STUB IGame_DrawSetDrawColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawSetBackColor_Proxy( 
    IGame __RPC_FAR * This,
    int red,
    int green,
    int blue);


void __RPC_STUB IGame_DrawSetBackColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteDefine_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    BSTR sFileName,
    long iXPosBMP,
    long iYPosBMP,
    long iFrameWidth,
    long iFrameHeight,
    long iFrameCount,
    long iFramesPerRow);


void __RPC_STUB IGame_SpriteDefine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawFlipBackBuffer_Proxy( 
    IGame __RPC_FAR * This);


void __RPC_STUB IGame_DrawFlipBackBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteDisplay_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum);


void __RPC_STUB IGame_SpriteDisplay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawSetTransparentColor_Proxy( 
    IGame __RPC_FAR * This,
    int red,
    int green,
    int blue);


void __RPC_STUB IGame_DrawSetTransparentColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteSetNextFrame_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum);


void __RPC_STUB IGame_SpriteSetNextFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteSetPosition_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    long lX,
    long lY);


void __RPC_STUB IGame_SpriteSetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawBackgroundImage_Proxy( 
    IGame __RPC_FAR * This,
    BSTR sFileName,
    int lX,
    int lY);


void __RPC_STUB IGame_DrawBackgroundImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_TimerGetTickCount_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB IGame_get_TimerGetTickCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_TimerGetFrameRate_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB IGame_get_TimerGetFrameRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SoundLoad_Proxy( 
    IGame __RPC_FAR * This,
    long lSoundNum,
    BSTR sFileName);


void __RPC_STUB IGame_SoundLoad_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SoundPlay_Proxy( 
    IGame __RPC_FAR * This,
    long lSoundNum);


void __RPC_STUB IGame_SoundPlay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawGetPixel_Proxy( 
    IGame __RPC_FAR * This,
    int x,
    int y,
    /* [out][in] */ VARIANT __RPC_FAR *red,
    /* [out][in] */ VARIANT __RPC_FAR *green,
    /* [out][in] */ VARIANT __RPC_FAR *blue);


void __RPC_STUB IGame_DrawGetPixel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteSetDirection_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    int iAngle,
    int iVelocity);


void __RPC_STUB IGame_SpriteSetDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_UtilGetAngleBetween_Proxy( 
    IGame __RPC_FAR * This,
    int x1,
    int y1,
    int x2,
    int y2,
    /* [retval][out] */ short __RPC_FAR *pVal);


void __RPC_STUB IGame_get_UtilGetAngleBetween_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_InputKeyUp_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_InputKeyUp_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_InputKeyDown_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_InputKeyDown_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_InputKeyLeft_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_InputKeyLeft_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_InputKeyRight_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_InputKeyRight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_InputKeyA_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_InputKeyA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_InputKeyB_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_InputKeyB_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_InputKeyC_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_InputKeyC_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_InputKeyStart_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_InputKeyStart_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_InputKeyAux1_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_InputKeyAux1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_InputKeyAux2_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_InputKeyAux2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_InputKeyDirection_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ short __RPC_FAR *pVal);


void __RPC_STUB IGame_get_InputKeyDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteGetDirection_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [out][in] */ VARIANT __RPC_FAR *iAngle,
    /* [out][in] */ VARIANT __RPC_FAR *iVelocity);


void __RPC_STUB IGame_SpriteGetDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_DrawAutoFlipBackBuffer_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_DrawAutoFlipBackBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_DrawAutoFlipBackBuffer_Proxy( 
    IGame __RPC_FAR * This,
    /* [in] */ BOOL newVal);


void __RPC_STUB IGame_put_DrawAutoFlipBackBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_SpriteAutoDisplay_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_SpriteAutoDisplay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_SpriteAutoDisplay_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [in] */ BOOL newVal);


void __RPC_STUB IGame_put_SpriteAutoDisplay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_SpriteFrameRate_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [retval][out] */ short __RPC_FAR *pVal);


void __RPC_STUB IGame_get_SpriteFrameRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_SpriteFrameRate_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [in] */ short newVal);


void __RPC_STUB IGame_put_SpriteFrameRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_TimerPauseTimer_Proxy( 
    IGame __RPC_FAR * This,
    BOOL bPause);


void __RPC_STUB IGame_TimerPauseTimer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteSetPrevFrame_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum);


void __RPC_STUB IGame_SpriteSetPrevFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteSetFrameRange_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    int iFirstFrame,
    int iLastFrame,
    BOOL bLoopFrames);


void __RPC_STUB IGame_SpriteSetFrameRange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteGetFrameRange_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [out][in] */ VARIANT __RPC_FAR *iFirstFrame,
    /* [out][in] */ VARIANT __RPC_FAR *iLastFrame,
    VARIANT __RPC_FAR *bLoopFrames);


void __RPC_STUB IGame_SpriteGetFrameRange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_TextSetAttributes_Proxy( 
    IGame __RPC_FAR * This,
    BSTR sFaceName,
    long lWeight,
    long lPoints,
    BOOL bItalic,
    BOOL bUnderline,
    BOOL bStrikeOut,
    short iCharSet);


void __RPC_STUB IGame_TextSetAttributes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_TextGetDimensions_Proxy( 
    IGame __RPC_FAR * This,
    BSTR sText,
    /* [out][in] */ VARIANT __RPC_FAR *width,
    /* [out][in] */ VARIANT __RPC_FAR *height);


void __RPC_STUB IGame_TextGetDimensions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawRedrawBackground_Proxy( 
    IGame __RPC_FAR * This,
    int x,
    int y,
    int width,
    int height);


void __RPC_STUB IGame_DrawRedrawBackground_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawBackgroundSprite_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    int lX,
    int lY);


void __RPC_STUB IGame_DrawBackgroundSprite_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawBackgroundScroll_Proxy( 
    IGame __RPC_FAR * This,
    int iAngle,
    int iDistance);


void __RPC_STUB IGame_DrawBackgroundScroll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawBackgroundScrollGetOffsets_Proxy( 
    IGame __RPC_FAR * This,
    /* [out][in] */ VARIANT __RPC_FAR *iOffsetX,
    /* [out][in] */ VARIANT __RPC_FAR *iOffsetY);


void __RPC_STUB IGame_DrawBackgroundScrollGetOffsets_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_TileSetMap_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [out][in] */ VARIANT __RPC_FAR *arrMap,
    /* [out][in] */ VARIANT __RPC_FAR *arrCollisionTiles);


void __RPC_STUB IGame_TileSetMap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteDelete_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum);


void __RPC_STUB IGame_SpriteDelete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_TileAtPosition_Proxy( 
    IGame __RPC_FAR * This,
    int iXMapOffset,
    int iYMapOffset,
    /* [retval][out] */ short __RPC_FAR *pVal);


void __RPC_STUB IGame_get_TileAtPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_TileAtPosition_Proxy( 
    IGame __RPC_FAR * This,
    int iXMapOffset,
    int iYMapOffset,
    /* [in] */ short newVal);


void __RPC_STUB IGame_put_TileAtPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_TileAtPositionXY_Proxy( 
    IGame __RPC_FAR * This,
    int lX,
    int lY,
    /* [retval][out] */ short __RPC_FAR *pVal);


void __RPC_STUB IGame_get_TileAtPositionXY_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_TileCausesCollision_Proxy( 
    IGame __RPC_FAR * This,
    int iTileNum,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_TileCausesCollision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteDiminishCollisionRect_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    int iDiminishX,
    int iDiminishY);


void __RPC_STUB IGame_SpriteDiminishCollisionRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_TileSpriteCanMove_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    int iAngle,
    int iVelocity,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_TileSpriteCanMove_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawGetDimensions_Proxy( 
    IGame __RPC_FAR * This,
    /* [out][in] */ VARIANT __RPC_FAR *width,
    /* [out][in] */ VARIANT __RPC_FAR *height);


void __RPC_STUB IGame_DrawGetDimensions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteGetPosition_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [out][in] */ VARIANT __RPC_FAR *lX,
    /* [out][in] */ VARIANT __RPC_FAR *lY);


void __RPC_STUB IGame_SpriteGetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_SpriteActive_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_SpriteActive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_SpriteActive_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [in] */ BOOL newVal);


void __RPC_STUB IGame_put_SpriteActive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteGetPositionEx_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    int iOffset,
    /* [out][in] */ VARIANT __RPC_FAR *lX,
    /* [out][in] */ VARIANT __RPC_FAR *lY);


void __RPC_STUB IGame_SpriteGetPositionEx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_SpriteOnScreen_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_SpriteOnScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_SpriteFrame_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [retval][out] */ int __RPC_FAR *pVal);


void __RPC_STUB IGame_get_SpriteFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_SpriteFrame_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [in] */ int newVal);


void __RPC_STUB IGame_put_SpriteFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_UtilRandom_Proxy( 
    IGame __RPC_FAR * This,
    long lMinVal,
    long lMaxVal,
    /* [retval][out] */ long __RPC_FAR *pVal);


void __RPC_STUB IGame_get_UtilRandom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_UtilMemoryStatus_Proxy( 
    IGame __RPC_FAR * This,
    /* [out][in] */ VARIANT __RPC_FAR *iMemoryLoad,
    /* [out][in] */ VARIANT __RPC_FAR *lTotalPhysicalBytes,
    /* [out][in] */ VARIANT __RPC_FAR *lAvailablePhysicalBytes,
    /* [out][in] */ VARIANT __RPC_FAR *lTotalVirtualBytes,
    /* [out][in] */ VARIANT __RPC_FAR *lAvailableVirtualBytes);


void __RPC_STUB IGame_UtilMemoryStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_SpriteZOrder_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [retval][out] */ short __RPC_FAR *pVal);


void __RPC_STUB IGame_get_SpriteZOrder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_SpriteZOrder_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [in] */ short newVal);


void __RPC_STUB IGame_put_SpriteZOrder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_TimerDefineCustom_Proxy( 
    IGame __RPC_FAR * This,
    int iTimerNum,
    int iDelay,
    BOOL bRepeat);


void __RPC_STUB IGame_TimerDefineCustom_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_InputFireMouseCollisions_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_InputFireMouseCollisions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_InputFireMouseCollisions_Proxy( 
    IGame __RPC_FAR * This,
    /* [in] */ BOOL newVal);


void __RPC_STUB IGame_put_InputFireMouseCollisions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SoundPlayLoop_Proxy( 
    IGame __RPC_FAR * This,
    long lSoundNum);


void __RPC_STUB IGame_SoundPlayLoop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SoundStopLoop_Proxy( 
    IGame __RPC_FAR * This,
    long lSoundNum);


void __RPC_STUB IGame_SoundStopLoop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_SpriteTileCollisionsOn_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_SpriteTileCollisionsOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_SpriteTileCollisionsOn_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [in] */ BOOL newVal);


void __RPC_STUB IGame_put_SpriteTileCollisionsOn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteCopy_Proxy( 
    IGame __RPC_FAR * This,
    long lSrcSpriteNum,
    long lDestSpriteNum);


void __RPC_STUB IGame_SpriteCopy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SoundDelete_Proxy( 
    IGame __RPC_FAR * This,
    long lSoundNum);


void __RPC_STUB IGame_SoundDelete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawBackgroundScrollSetOffsets_Proxy( 
    IGame __RPC_FAR * This,
    int iOffsetX,
    int iOffSetY);


void __RPC_STUB IGame_DrawBackgroundScrollSetOffsets_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_ScriptExecute_Proxy( 
    IGame __RPC_FAR * This,
    BSTR sScript);


void __RPC_STUB IGame_ScriptExecute_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_UtilSleep_Proxy( 
    IGame __RPC_FAR * This,
    long lMilliseconds);


void __RPC_STUB IGame_UtilSleep_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_ScriptStop_Proxy( 
    IGame __RPC_FAR * This);


void __RPC_STUB IGame_ScriptStop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_AppPath_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BSTR __RPC_FAR *pVal);


void __RPC_STUB IGame_get_AppPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_AppPath_Proxy( 
    IGame __RPC_FAR * This,
    /* [in] */ BSTR newVal);


void __RPC_STUB IGame_put_AppPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_DrawHwnd_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ DWORD __RPC_FAR *pVal);


void __RPC_STUB IGame_get_DrawHwnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_DrawHwnd_Proxy( 
    IGame __RPC_FAR * This,
    /* [in] */ DWORD newVal);


void __RPC_STUB IGame_put_DrawHwnd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteStretch_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    long lWidth,
    long lHeight);


void __RPC_STUB IGame_SpriteStretch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_ScriptRaiseMessage_Proxy( 
    IGame __RPC_FAR * This,
    BSTR sMessage);


void __RPC_STUB IGame_ScriptRaiseMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DoInit_Proxy( 
    IGame __RPC_FAR * This);


void __RPC_STUB IGame_DoInit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawLine_Proxy( 
    IGame __RPC_FAR * This,
    int x1,
    int y1,
    int x2,
    int y2,
    int iWidth,
    BOOL bDrawBackground);


void __RPC_STUB IGame_DrawLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawRectangle_Proxy( 
    IGame __RPC_FAR * This,
    int x1,
    int y1,
    int x2,
    int y2,
    BOOL bDrawBackground);


void __RPC_STUB IGame_DrawRectangle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_TextDisplaySprite_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    BSTR bstrString,
    int lX,
    int lY,
    BOOL bTransparent,
    BOOL bErase);


void __RPC_STUB IGame_TextDisplaySprite_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawSetPixelSprite_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    int x,
    int y,
    BOOL bErase);


void __RPC_STUB IGame_DrawSetPixelSprite_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_DrawFullScreen_Proxy( 
    IGame __RPC_FAR * This,
    BOOL bShowTaskBar,
    BOOL bShowSIP,
    BOOL bShowStartIcon);


void __RPC_STUB IGame_DrawFullScreen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_DrawBackgroundShouldScroll_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    int iDirection,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_DrawBackgroundShouldScroll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_TileSetCollisionTiles_Proxy( 
    IGame __RPC_FAR * This,
    VARIANT __RPC_FAR *arrCollisionTiles);


void __RPC_STUB IGame_TileSetCollisionTiles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteCopyFrame_Proxy( 
    IGame __RPC_FAR * This,
    long lSrcSpriteNum,
    int lSrcFrame,
    long lDestSpriteNum,
    int lDestFrame);


void __RPC_STUB IGame_SpriteCopyFrame_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteFrameFlip_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum);


void __RPC_STUB IGame_SpriteFrameFlip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteFrameMirrorInternal_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    BOOL bMirror);


void __RPC_STUB IGame_SpriteFrameMirrorInternal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteFrameMirror_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum);


void __RPC_STUB IGame_SpriteFrameMirror_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_SpriteDirectionRate_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [retval][out] */ short __RPC_FAR *pVal);


void __RPC_STUB IGame_get_SpriteDirectionRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_SpriteDirectionRate_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [in] */ short newVal);


void __RPC_STUB IGame_put_SpriteDirectionRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_DrawHwndControl_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ DWORD __RPC_FAR *pVal);


void __RPC_STUB IGame_get_DrawHwndControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_SpriteCollisionAccuracy_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [retval][out] */ short __RPC_FAR *pVal);


void __RPC_STUB IGame_get_SpriteCollisionAccuracy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_SpriteCollisionAccuracy_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    /* [in] */ short newVal);


void __RPC_STUB IGame_put_SpriteCollisionAccuracy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGame_SpriteSetCollisionSprites_Proxy( 
    IGame __RPC_FAR * This,
    long lSpriteNum,
    VARIANT __RPC_FAR *arrCollisionSprites);


void __RPC_STUB IGame_SpriteSetCollisionSprites_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGame_get_TileExtendedCollisions_Proxy( 
    IGame __RPC_FAR * This,
    /* [retval][out] */ BOOL __RPC_FAR *pVal);


void __RPC_STUB IGame_get_TileExtendedCollisions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGame_put_TileExtendedCollisions_Proxy( 
    IGame __RPC_FAR * This,
    /* [in] */ BOOL newVal);


void __RPC_STUB IGame_put_TileExtendedCollisions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGame_INTERFACE_DEFINED__ */



#ifndef __ASPRITECELib_LIBRARY_DEFINED__
#define __ASPRITECELib_LIBRARY_DEFINED__

/****************************************
 * Generated header for library: ASPRITECELib
 * at Sun May 16 21:14:34 2004
 * using MIDL 3.02.88
 ****************************************/
/* [helpstring][version][uuid] */ 



EXTERN_C const IID LIBID_ASPRITECELib;

#ifndef ___IGameEvents_DISPINTERFACE_DEFINED__
#define ___IGameEvents_DISPINTERFACE_DEFINED__

/****************************************
 * Generated header for dispinterface: _IGameEvents
 * at Sun May 16 21:14:34 2004
 * using MIDL 3.02.88
 ****************************************/
/* [helpstring][uuid] */ 



EXTERN_C const IID DIID__IGameEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    interface DECLSPEC_UUID("7A7208F4-F312-4B23-9FAF-63CB0D31E69B")
    _IGameEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _IGameEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            _IGameEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            _IGameEvents __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            _IGameEvents __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            _IGameEvents __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            _IGameEvents __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            _IGameEvents __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            _IGameEvents __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } _IGameEventsVtbl;

    interface _IGameEvents
    {
        CONST_VTBL struct _IGameEventsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _IGameEvents_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define _IGameEvents_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define _IGameEvents_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define _IGameEvents_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define _IGameEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define _IGameEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define _IGameEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___IGameEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_Game;

#ifdef __cplusplus

class DECLSPEC_UUID("5CF71860-90BB-4120-AE17-00BF0E93C95C")
Game;
#endif
#endif /* __ASPRITECELib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , VARIANT __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long __RPC_FAR *, VARIANT __RPC_FAR * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif
